Remote Device Control Using Gestures On a Touch Sensitive Device

ABSTRACT

A computing device includes a touch-sensitive area that is arranged and configured to receive one or more gestures, and a memory that is arranged and configured to store one or more device gestures, where the stored device gestures correspond to a selection of one or more remote devices and a processor that is operably coupled to the touch sensitive area and the memory. The processor is arranged and configured to compare the gestures received in the touch sensitive area to the stored device gestures, determine a selected remote device based on the comparison, and initiate contact with the selected remote device.

RELATED APPLICATIONS

This application is a continuation application of U.S. patentapplication Ser. No. 14/798,216, filed on Jul. 13, 2015, which, in turn,is a continuation application of U.S. patent application Ser. No.13/097,790, filed on Apr. 29, 2011, now U.S. Pat. No. 9,081,810, thedisclosures of which are incorporated by reference herein in theirentirety.

TECHNICAL FIELD

This description relates to systems, methods and computer programproducts for remote device control using gestures on a touch sensitivedevice.

BACKGROUND

A remote control device may be used to control one or more consumerelectronic devices such as, for example, a television, a stereoreceiver, a digital video disk (DVD) player or computer devices. Theremote control device may be considered a universal remote controldevice that is capable of controlling different types of devices made bydifferent manufacturers. With a single remote control device capable ofcontrolling many different types of other devices, it may be desirablefor a user to be able to access and control those devices in a secureand user-friendly manner.

SUMMARY

According to one general aspect, an apparatus includes a touch sensitivearea that is arranged and configured to receive one or more gestures, amemory that is arranged and configured to store one or more devicegestures, where the stored device gestures correspond to a selection ofone of one or more remote devices and a processor that is operablycoupled to the touch sensitive area and the memory. The processor isarranged and configured to compare the gestures received in the touchsensitive area to the stored device gestures, determine a selectedremote device based on the comparison and initiate contact with theselected remote device.

Implementations may include one or more of the following features. Forexample, the processor initiating contact with the selected remotedevice may include communicating a wake up signal to the selected remotedevice. The processor initiating contact with the selected remote devicemay include communicating an unlock signal to the selected remotedevice. The processor initiating contact with the selected remote devicemay include communicating a wake up signal and an unlock signal to theselected remote device. The apparatus may include a display that isoperably coupled to the processor, where the processor is arranged andconfigured to cause the display to display a custom screen for theselected remote device.

The apparatus may include a display that is operably coupled to theprocessor, where the touch sensitive area may include at least a portionof the display. The apparatus may include a display that is operablycoupled to the processor and where the touch sensitive area may includean area other than the display.

A device gesture may include a single touch and slide movement thatuniquely corresponds to one of the remote devices. A device gesture mayinclude multiple touches that uniquely correspond to one of the remotedevices. A device gesture may include multiple touches within aconfigurable period of time that uniquely correspond to one of theremote devices. A device gesture may include multiple simultaneoustouches that uniquely correspond to one of the remote devices. The touchsensitive area may include multiple different touch sensitive areas anda device gesture may include multiple simultaneous touches on thedifferent touch sensitive areas that uniquely correspond to one of theremote devices.

In another general aspect, a computer-readable storage medium hasrecorded and stored thereon instructions that, when executed by aprocessor, cause the processor to perform a method, where the methodincludes receiving one or more gestures in a touch sensitive area of adevice, comparing the gestures received in the touch sensitive area toone or more device gestures stored in a memory, where the stored devicegestures correspond to a selection of one or more remote devices,determining a selected remote device based on the comparison andinitiating contact with the selected remote device.

Implementations may include one or more of the following features. Forexample, initiating contact may include communicating a wake up signalto the selected remote device. Initiating contact may includecommunicating an unlock signal to the selected remote device. Initiatingcontact may include communicating a wake up signal and an unlock signalto the selected remote device. The computer-readable storage medium mayfurther include instructions that, when executed by the processor, causethe processor to perform the method of displaying on the device a customscreen for the selected remote device.

The touch sensitive area may include at least a portion of a display ofthe device. The touch sensitive area may include an area other than adisplay of the device. A device gesture may include a single touch andslide movement that uniquely corresponds to one of the remote devices. Adevice gesture may include multiple touches that uniquely correspond toone of the remote devices. A device gesture may include multiple toucheswithin a configurable period of time that uniquely correspond to one ofthe remote devices. A device gesture may include multiple simultaneoustouches that uniquely correspond to one of the remote devices. The touchsensitive area may include multiple touch sensitive areas and a devicegesture may include multiple simultaneous touches on the different touchsensitive areas that uniquely correspond to one of the remote devices.

In another general aspect, a computer-implemented method may includereceiving one or more gestures in a touch sensitive area of a device,comparing the gestures received in the touch sensitive area to one ormore device gestures stored in a memory, where the stored devicegestures correspond to a selection of one of one or more remote devices,determining a selected remote device based on the comparison andinitiating contact with the selected remote device.

Implementations may include one or more of the following features. Forexample, initiating contact may include communicating a wake up signalto the selected remote device. Initiating contact may includecommunicating an unlock signal to the selected remote device. Initiatingcontact may include communicating a wake up signal and an unlock signalto the selected remote device. The computer-implemented method mayfurther include displaying on the device a custom screen for theselected remote device.

The touch sensitive area may include at least a portion of a display ofthe device. The touch sensitive area may include an area other than adisplay of the device. A device gesture may include a single touch andslide movement that uniquely corresponds to one of the remote devices. Adevice gesture may include multiple touches that uniquely correspond toone of the remote devices. A device gesture may include multiple toucheswithin a configurable period of time that uniquely correspond to one ofthe remote devices. A device gesture may include multiple simultaneoustouches that uniquely correspond to one of the remote devices. The touchsensitive area may include multiple touch sensitive areas and a devicegesture may include multiple simultaneous touches on the different touchsensitive areas that uniquely correspond to one of the remote devices.

The details of one or more implementations are set forth in theaccompanying drawings and the description below. Other features will beapparent from the description and drawings, and from the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A-1F are exemplary block diagrams of a touch-sensitive deviceillustrating a gesture on a touch-sensitive area of the device.

FIGS. 2A and 2B are exemplary block diagrams illustrating exemplarycomponents of the touch-sensitive device of FIGS. 1A-IF.

FIG. 3 is a flowchart illustrating example operations of the touchsensitive device of FIGS. 1A-1F and 2A-2B.

FIG. 4 shows an example of a computer device and a mobile computerdevice that can be used to implement the techniques described here.

DETAILED DESCRIPTION

This document describes systems and techniques for using gestures on atouch sensitive device to initiate contact with a remote device, where aparticular gesture corresponds to a particular device. For instance, aspecific gesture received on the touch sensitive device may correspondto a specific remote device such that the touch sensitive deviceinitiates contact with the specific remote device. In this manner, thetouch sensitive device may communicate a wake up signal to the remotedevice and/or may communicate an unlock signal to the remote device. Thewake up signal may cause the remote device to transition from an off orsleep state to an on state. The unlock signal may cause the remotedevice to unlock and accept and process additional inputs from the touchsensitive device or directly on the remote device itself.

Such techniques may include receiving one or more gestures on a touchsensitive area of the device and comparing the received gestures to oneor more device gestures, which may be stored in a memory of the device.The device gestures correspond to a selection of one of one or moreremote devices. If the received gesture matches a stored device gesture,then the touch sensitive device determines a selected remote devicebased on the comparison and initiates contact with the selected remotedevice. The touch sensitive device also may display a custom displayscreen that is specific to the selected remote device. In this manner, auser may communicate control signals and/or commands to the selectedremote device using the custom display screen for that specific remotedevice.

Referring to FIG. 1A, an exemplary touch sensitive device 102 isillustrated. The touch sensitive device 102 may include any type ofdevice that includes one or more touch sensitive areas. For example, thetouch sensitive device 102 may include a mobile phone, a laptop, atablet device, a game device, a music player, a personal digitalassistant, a smart phone and any combinations of these devices, wherethe device includes one or more touch sensitive areas. The touchsensitive area may include, for example, a display, a keypad, a trackpad, and a portion of the device housing. For example, the touchsensitive device 102 may include a display 104. In one exemplaryimplementation, at least a part of the display 104 may be touchsensitive. For instance, at least a portion of the display 104 may be atouch screen that enables user interaction with the device using thetouch screen display.

Other areas of the touch sensitive device 102 may be touch sensitive.For example, the touch sensitive device may include a button 106 fornavigating and selecting items displayed on the display 104. The button106 may be considered a touch sensitive area, where slide movements of auser's finger on the button 106 may be used to move a selector on thedisplay 104. Also, for example, the housing 108 of the device 102 may bea touch sensitive area. Any or all portions of the housing 108 may betouch sensitive. For instance, the touch sensitive portions of thehousing 108 may be used to control a selector, a cursor or othermovement on the display 104. A user may be able to slide a finger on thetouch sensitive portions of the housing 108 to interact with the display104.

The touch sensitive device 102 may include other components, which arenot illustrated in FIG. 1A. For instance, the touch sensitive device 102may include a physical keyboard (not shown), which may be used to enterinformation into the device 102. The physical keyboard (not shown) maybe implemented on the front of the device 102 along with the display 104or may be implemented as a slide out keyboard from behind the display104. In the various implementations of a physical keyboard, the physicalkeyboard also may include one or more touch sensitive areas.

One or more of the touch sensitive areas may be configured to receiveone or more gestures. In one exemplary implementation, a user may inputa gesture on one or more of the touch sensitive areas to select aspecific remote device that corresponds to a specific gesture. The touchsensitive device 102 may be configured to compare the received gestureswith device gestures that are stored on the device 102. A device gestureincludes a gesture that corresponds to a selection of one of multipleremote devices. A device gesture is a gesture that uniquely correspondsto selection of a remote device and any customized displays forcommunicating with that remote device. A specific gesture may beassociated with a specific remote device by default or by userconfiguration. The specific gesture associated with the specific remotedevice may be customized and configured by the user.

A remote device may include a computing device such as, for example, adesktop computer, a server, a laptop or notebook computer, a tabletdevice or other types of computing devices. A remote device may includeelectronic equipment such as, for example, a television, a radio, atuner, a stereo receiver, a compact disc player, a DVD player, a videocassette recorder (VCR), other audio and visual electronic devices andother consumer electronic devices.

A gesture may include, for example, a single touch and movement of auser's finger or an apparatus, such as a stylus, on the touch sensitivearea. For example, a gesture may be a single touch of the touchsensitive area followed by a movement of the finger across the touchsensitive area, without lifting the finger from the touch sensitive areabetween the touch and the movement. The movement may include acontinuous, sliding motion on the touch sensitive area.

Referring to FIG. 1B, the touch sensitive device 102 is illustrated. Inthis example illustration, a user 110 enters a gesture comprising asingle touch and movement on a touch sensitive area, which in thisexample is the display 104. The user 110 touches the display 104 in theupper left hand corner of the display 104 with a single touch and thenmoves her finger across the top edge of the display and then down theright side of the display, as indicated by the arrows. The display 104is configured to receive the gesture. The gesture may be performed inone continuous motion without lifting the finger from the display 104.

In one exemplary implementation, the gesture across the top of thedisplay 104 and then down the right side of the display 104 maycorrespond to selecting a particular remote device such as, for example,a desktop computer. The device 102 receives this particular gesture,compares the received gesture to device gestures stored on the device,determines that the desktop computer is the selected device andinitiates contact with the desktop computer. The device 102 maycommunicate a wake up signal to the desktop computer to transition thedesktop computer to an on or active state. The device may communicate anunlock signal to the desktop computer to unlock the desktop computer foruse by the user. In some instances, without the unlock signal from thedevice 102, the desktop computer would remained locked. In this manner,the gesture entered by the user may function as both a wake up signaland a security mechanism for the desktop device. This particular gestureentered on the device 102 is unique to identify and select the desktopcomputer and may function as a password to unlock the desktop computerfor use.

In one exemplary implementation, when this particular gesture for thedesktop computer is entered, the device 102 may display a custom displayscreen related to the desktop computer. In this manner, the device 102may be used to communicate control signals and other commands to thedesktop computer such that the device 102 may function as a remotecontrol for the desktop computer.

Other single touch and movement gestures on the touch sensitive area maybe used to select one of multiple other remote devices and to initiatecontact with the other remote devices. For example, a single touch andmovement gesture in the shape of the letter “COO may be used to selectand initiate contact with a CD player. A gesture in the shape of theletter “D” may be used to select and initiate contact with a DVD player.These different gestures may be configured by the user so that the usercan easily associate a particular gesture with a particular remotedevice.

As discussed above, the device 102 may include touch sensitive areasother than just the display 104. Referring to FIG. 1C, the touchsensitive device 102 is illustrated. In this example illustration, theuser 110 enters a gesture comprising a single touch and movement on atouch sensitive area, which in this example is the housing 108. The user110 touches the housing 108 on the top, left corner with a single touchand then moves her finger across the top of the housing 108 and thendown the right side of the housing 108, as indicated by the arrows. Thehousing 108 is configured to receive the gesture. The gesture may beperformed in one continuous motion without lifting the finger from thehousing 108.

In this exemplary implementation, this particular gesture on a touchsensitive area other than the display may be associated with aparticular remote device. When this gesture is received on the device102, the device 102 compares the gesture with other stored devicegestures, determines the particular remote device based on thecomparison and initiates contact with the particular remote device.

Referring to FIG. 1D, the touch sensitive device 102 is illustrated. Inthis example illustration, the user 110 enters a gesture comprising asingle touch and movement on a touch sensitive area, which in thisexample is the button 106. The user 110 touches the button 106 on theleft edge with a single touch and then moves her finger to the rightedge of and then down to the bottom edge of the button 106, as indicatedby the arrows. The button 106 is configured to receive the gesture. Thegesture may be performed in one continuous motion without lifting thefinger from the button 106.

In this exemplary implementation, this particular gesture on the button106 may be associated with a particular remote device. When this gestureis received on the device 102, the device 102 compares the gesture withother stored device gestures, determines the particular remote devicebased on the comparison and initiates contact with the particular remotedevice.

In another exemplary implementation, a gesture also may include multipletouches and one or more movements of a user's finger or an apparatus,such as a stylus, on the touch sensitive area. For example, a gesturemay include a first touch and movement on the touch sensitive areafollowed by a second touch and movement on the touch sensitive area. Thefirst touch and movement and the second touch and movement can be on thesame areas of the touch sensitive area or may be on different areas ofthe touch sensitive area. The first touch and movement and the secondtouch and movement may be on different touch sensitive areas. Aparticular gesture that includes multiple touches and one or moremovements may be used to select a particular device.

In another example, the multiple touches may include simultaneoustouches. For instance, the user may touch the touch sensitive area intwo or more places at the same time. A particular gesture that includesmultiple simultaneous touches may be used to select a particular device.

Referring to FIG. 1E, the touch sensitive device 102 is illustrated. Inthis example illustration, the user 110 enters a gesture comprising afirst touch and movement followed by a second touch and movement on thetouch sensitive area, which in this example is the display 104. The user110 first touches the display 104 in the upper left hand corner andslides her finger across the top and then diagonally towards the center,as indicated by the arrows. The user 110 then touches the display 104 inthe lower right hand corner and slides her finger up the right side ofthe display 104. This exemplary gesture may be used to select aparticular remote device such that the device 102 initiates contact withthe remote device. While this example gesture is illustrated on thedisplay 104, other gestures that include multiple touches and one ormore movements may be performed on the other touch sensitive areas ofthe device 102.

A gesture may include various combinations of touches and movements,other than those described above in the example of FIG. 1E. For example,the touches may include a simultaneous touch in two or more places onthe display 104, such as, touching the display 104 with one finger onone side of the display 104 and with another finger on the other side ofthe display 104 at the same time. The simultaneous touches may befollowed by a movement of one or more of the fingers on the display 104.In another example, the touches may include a simultaneous touch in twoor more places on different touch sensitive areas. For instance, theuser may touch the housing 108 with one finger and touch the display 104with another finger at the same time. The simultaneous touches on thehousing 108 and the display 104 may be followed by a movement of one ormore of the fingers on the housing 108 or the display 104.

In one exemplary implementation, a gesture also may include multipletouches on the touch sensitive area. The multiple touches on the touchsensitive area may be within a specific period of time, where the periodof time may be pre-defined and/or configurable. The multiple touches maynot be in combination with a movement of the finger or apparatus on thetouch sensitive area. The multiple touches may be in the same locationon the touch sensitive area or the multiple touches may be on differentlocations on the touch sensitive area. The multiple touches may besimultaneous or nonsimultaneous touches on either the same or ondifferent touch sensitive areas. Each of these various exemplaryimplementations of gestures may be used to select a particular remotedevice.

Referring to FIG. 1F, the touch sensitive device 102 is illustrated. Inthis example illustration, the user 110 enters a gesture comprisingmultiple touches on the touch sensitive area, which in this example isthe display 104. For example, the user 110 may first touch the upperleft corner of the display 104 twice and then touch the lower rightcorner of the display 104 three times. This combination of touches maybe considered a gesture.

Also, as discussed above, the multiple touches may include multiplesimultaneous touches. For example, the user 110 may touch two differentlocations on the display 104 at the same time and then touch the samelocations again. In another example, the user 110 may touch twodifferent locations on the display 104 at the same time and then touchtwo other locations on the display 104 at the same time. In anotherexample, the user 110 may touch two different locations on two differenttouch sensitive areas, such as the display 104 and the housing 108, atthe same time and then touch either those same locations again ordifferent locations on the same or different touch sensitive areas.

While the examples provided in FIGS. 1A-1F illustrate example touchesand/or movements on the touch sensitive areas, it is understood thatthese are examples and many other touches and movements are possible. Asdiscussed above, these exemplary gestures may be uniquely associatedwith a particular remote device such that the device 102 may initiatecontact with the remote device associated with a particular gesture.

The gestures that are received on the touch sensitive area may becompared to gestures that are stored in the memory of the device 102. Inthis manner, a processor of the device 102 may be configured to comparethe received gesture with a stored gesture. One or more of the storedgestures may be referred to as stored device gestures, where a devicegesture is associated with a selection of a particular remote device.Each device gesture may uniquely correspond to a particular remotedevice. If the gestures match, then the processor may be configured todetermine a selected remote device and initiate contact with theselected remote device. If the gestures do not match, then the device102 may not take any action. The processor may be configured to monitorthe touch sensitive areas of the device 102 for gestures.

Since the touch sensitive device 102 may include various types ofdevices, the components of the device may vary. Some devices may includetransceivers, antennas, radios, controllers, memory, processors andother components that are used to perform the functions of the device.Some of these components are described in more detail below with respectto FIG. 4. Referring to FIG. 2A, a couple of common components for thetouch sensitive device 102 are illustrated. The touch sensitive device102 may include a display 104, a memory 212, a processor 214 and acommunication module 215. The display 104, the memory 212, the processor214 and the communication module 215 may be operably coupled to eachother and may be configured to communicate with one another.

The memory 212 may store instructions that are communicated to theprocessor 214 for execution by the processor 214. The instructions thatare executed by the processor 214 may cause the device 102 to performcertain actions.

In one exemplary implementation, the memory 212 may store one or moredevices gestures. The stored gestures may be referred to as devicegestures because they are compared against gestures received on thetouch sensitive area and when a match is confirmed, the processor 214may determine which one of multiple remote devices 202 a and 202 b hasbeen selected and initiate contact with the selected remote device usingthe communication module 215. The processor 214 also may cause thedisplay 104 to show a custom screen related to the selected remotedevice. The stored device gestures may include any type of the gesturesdiscussed above with respect to FIGS. 1A-1F.

In one exemplary implementation, one or more default device gestures maybe stored in the memory 212. The default device gestures may bepre-defined gestures such that when a user makes the gesture on thetouch sensitive area, the processor 214 initiates contact with theparticular remote device associated with the particular pre-definedgesture.

In one exemplary implementation, the device gestures may be programmedby the user and stored in the memory 212. For example, a settings optionfor the device 102 may allow the user to program one or more devicegestures. For each device gesture, the user may be able to configure thenumber of touches and/or movements, the movements, the location of thetouches and/or the movements, and the period of time in which thegesture needs to be completed. The settings option allows the user toassociate a configured device gesture with a particular remote device.The user programmed device gestures, including the remote deviceassociated with a device gestures, may be stored in the memory 212. Inanother implementation, a menu of predefined device gestures andassociated remote devices may be presented to the user for selection touse.

The processor 214 may be operably coupled to the display 104, the touchsensitive area(s), the memory 212 and the communication module 215. Theprocessor 214 may be configured to monitor the touch sensitive areas forreceived gestures. The processor 214 may be configured to comparegestures received on the touch sensitive area to the device gesturesstored in the memory 212. When a received gesture matches a storeddevice gestures, the processor 214 is configured to determine whichremote device (e.g., remote device 202 a or 202 b) is associated withthe gesture and to initiate contact with the selected remote deviceusing the communication module 215.

If the received gesture does not match a stored device gesture, then theprocessor 214 may not take any action. The processor 214 may continuemonitoring the touch sensitive areas for gestures.

The communication module 215 may include a radio frequency transceiver,a Bluetooth transceiver, a Wi-Fi transceiver, an infrared transceiver orother type of transceiver that is configured to communicate withmultiple different remote devices 202 a and 202 b.

In one exemplary implementation, the processor 214 may communicate awake up and/or a power on signal (or command) to a selected remotedevice using the communication module 215. A particular wake up signaland/or power on signal may be associated with a particular remote deviceand stored in the memory 212. The wake up signal may cause the selectedremote device to transition from a sleep state to an on state such thatthe remote device is ready for use by the user. The power on signal maycause the remote device to transition from an off state to an on state.

In one exemplary implementation, the processor may communicate an unlocksignal (or command) to a selected remote device using the communicationmodule 215. A particular unlock signal may be associated with aparticular remote device and stored in the memory 212. The unlock signalmay cause the selected remote device to be accessible for operation by auser directly or by the remote device itself. The unlock signal may be apassword or passcode or other type of security code that unlocks theselected remote device using the device 102.

In one exemplary implementation, the touch sensitive areas may include aseparate controller or processor, which may be configured to monitor thetouch sensitive area for received gestures. Referring to FIG. 2B, thetouch sensitive device 102 also may include a touch sensitive controller216. The touch sensitive controller 216 may be a processor that isconfigured to control one or more of the touch sensitive areas of thedevice 102. The touch sensitive controller 216 may be operably coupledto the display 104 and any other touch sensitive areas. As discussedabove, the touch sensitive areas may include, for example, the display104, the button 106 and portions of the housing 108. The touch sensitivecontroller 216 also may be configured to perform other actions relatedto one or more of the device components. For example, the touchsensitive controller 216 may be configured to perform actions related tothe display 104 and to control the functionality of the display 104.

The touch sensitive controller 216 also may be operably coupled to thememory 212, the processor 214 and the communication module 215. Thetouch sensitive controller 216 also may monitor the display 104 forgestures received on the display 104. In one exemplary implementation,the touch sensitive controller 216 may be configured to compare areceived gesture with a device gesture stored in the memory 212 and todetermine a particular remote device associated with the gesture when amatch occurs. The touch sensitive controller 216 also may be configuredto send a signal to the communication module 215 to initiate contactwith the selected remote device. In this manner, the main processor 214may be off or in a reduced power state and the touch sensitivecontroller 216 may be in a power state with enough power to monitor thetouch sensitive areas.

Referring to FIG. 3, an exemplary flow chart illustrates a process 300.Process 300 includes receiving one or more gestures on a touch sensitivearea (301). For example, the device 102 may include one or more touchsensitive areas on which one or more gestures may be received including,for example, the display 104, the button 106 and the housing 108 (301).The processor 214 and/or the touch sensitive controller 216 may beconfigured to monitor the touch sensitive areas for received gestures,even when the touch sensitive area is otherwise in a sleep state and/oreven when the device 102 is in a sleep state.

Process 300 includes comparing gestures received on the touch sensitiveareas to one or more device gestures stored in memory, where the storeddevice gestures correspond to a selection of one of multiple remotedevices (303). For example, in one exemplary implementation, theprocessor 214 may be configured to compare the gestures received on thetouch sensitive areas to device gestures stored in the memory 212 (303).In another exemplary implementation, the touch sensitive controller 216may be configured to compare the gestures received on the touchsensitive areas to the device gestures stored in the memory 212 (303).

Process 300 includes determining a selected remote device based on thecomparison (305). For example, each device gesture stored in the memory212 may be uniquely associated with the selection of a particular remotedevice. Based on the comparison between a received gesture and a storeddevice gesture, the processor 214 or the touch sensitive controller 216may determine which particular remote device has been selected.

Process 300 includes initiating contact with the selected remote device(307). For example, the processor 214 or the touch sensitive controller216 may initiate contact with the selected remote device using thecommunication module 215. Initiating contact with the selected remotedevice may include communicating a wake up signal and/or an unlocksignal to the selected remote device.

FIG. 4 shows an example of a generic computer device 400 and a genericmobile computer device 450, which may be used with the techniquesdescribed here. Computing device 400 is intended to represent variousforms of digital computers, such as laptops, desktops, workstations,personal digital assistants, servers, blade servers, mainframes, andother appropriate computers. Computing device 450 is intended torepresent various forms of mobile devices, such as personal digitalassistants, cellular telephones, smart phones, tablets, and othersimilar computing devices. The components shown here, their connectionsand relationships, and their functions, are meant to be exemplary only,and are not meant to limit implementations of the inventions describedand/or claimed in this document. Both computing device and computingdevice 450 may include the features and functionality of the touchsensitive device 102 described above with respect to FIGS. 1A-IF, 2A, 2Band 3. The descriptions below include other exemplary components andadditional functionality, which may be incorporated into the touchsensitive device 102.

Computing device 400 includes a processor 402, memory 404, a storagedevice 406, a high-speed interface 408 connecting to memory 404 andhigh-speed expansion ports 410, and a low speed interface 412 connectingto low speed bus 414 and storage device 406. Each of the components 402,404, 406, 408, 410, and 412, are interconnected using various busses,and may be mounted on a common motherboard or in other manners asappropriate. The processor 402 can process instructions for executionwithin the computing device 400, including instructions stored in thememory 404 or on the storage device 406 to display graphical informationfor a GUI on an external input/output device, such as display 416coupled to high speed interface 408. In other implementations, multipleprocessors and/or multiple buses may be used, as appropriate, along withmultiple memories and types of memory. Also, multiple computing devicesy be connected, with each device providing portions of the necessaryoperations (e.g., as a server bank, a group of blade servers, or amulti-processor system).

The memory 404 stores information within the computing device n oneimplementation, the memory 404 is a volatile memory unit or units. Inanother implementation, the memory 404 is a non-volatile memory unit orunits. The memory 404 may also be another form of computer-readablemedium, such as a magnetic or optical disk.

The storage device 406 is capable of providing mass storage for thecomputing device n one implementation, the storage device 406 may be orcontain a computer-readable medium, such as a floppy disk device, a harddisk device, an optical disk device, or a tape device, a flash memory orother similar solid state memory device, or an array of devices,including devices in a storage area network or other configurations. Acomputer program product can be tangibly embodied in an informationcarrier. The computer program product may also contain instructionsthat, when executed, perform one or more methods, such as thosedescribed above. The information carrier is a non-transitory computer-ormachine-readable medium, such as the memory 404, the storage device 406,or memory on processor 402.

The high speed controller 408 manages bandwidth-intensive operations forthe computing device 400, while the low speed controller 412 manageslower bandwidth-intensive operations. Such allocation of functions isexemplary only. In one implementation, the high-speed controller 408 iscoupled to memory 404, display 416 (e.g., through a graphics processoror accelerator), and to high-speed expansion ports 410, which may acceptvarious expansion cards (not shown). In the implementation, low-speedcontroller 412 is coupled to storage device 406 and low-speed expansionport 414. The low-speed expansion port, which may include variouscommunication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet)may be coupled to one or more input/output devices, such as a keyboard,a pointing device, a scanner, or a networking device such as a switch orrouter, e.g., through a network adapter.

The computing device 400 may be implemented in a number of differentforms, as shown in the figure. For example, it may be implemented as astandard server 420, or multiple times in a group of such servers. Itmay also be implemented as part of a rack server system 424. Inaddition, it may be implemented in a personal computer such as a laptopcomputer 422. Alternatively, components from computing device y becombined with other components in a mobile device (not shown), such asdevice 450. Each of such devices may contain one or more of computingdevice 50, and an entire system may be made up of multiple computingdevices 50 communicating with each other.

Computing device 450 includes a processor 452, memory 464, aninput/output device such as a display 454, a communication interface466, and a transceiver 468, among other components. The device 450 mayalso be provided with a storage device, such as a micro drive or otherdevice, to provide additional storage. Each of the components 452, 464,454, 466, and 468, are interconnected using various buses, and severalof the components may be mounted on a common motherboard or in othermanners as appropriate.

The processor 452 can execute instructions within the computing device450, including instructions stored in the memory 464. The processor maybe implemented as a chipset of chips that include separate and multipleanalog and digital processors. The processor may provide, for example,for coordination of the other components of the device 450, such ascontrol of user interfaces, applications run by device 450, and wirelesscommunication by device 450.

Processor 452 may communicate with a user through control interface 458and display interface 456 coupled to a display 454. The display 454 maybe, for example, a TFT LCD (Thin-Film-Transistor Liquid Crystal Display)or an OLED (Organic Light Emitting Diode) display, or other appropriatedisplay technology. The display interface 456 may comprise appropriatecircuitry for driving the display 454 to present graphical and otherinformation to a user. The control interface 458 may receive commandsfrom a user and convert them for submission to the processor 452. Inaddition, an external interface 462 may be provide in communication withprocessor 452, so as to enable near area communication of device 450with other devices. External interface 462 may provide, for example, forwired communication in some implementations, or for wirelesscommunication in other implementations, and multiple interfaces may alsobe used.

The memory 464 stores information within the computing device 450. Thememory 464 can be implemented as one or more of a non-transitorycomputer readable medium or media, a volatile memory unit or units, or anon-volatile memory unit or units. Expansion memory 474 may also beprovided and connected to device 450 through expansion interface 472,which may include, for example, a SIMM (Single In Line Memory Module)card interface. Such expansion memory 474 may provide extra storagespace for device 450, or may also store applications or otherinformation for device 450. Specifically, expansion memory 474 mayinclude instructions to carry out or supplement the processes describedabove, and may include secure information also. Thus, for example,expansion memory 474 may be provide as a security module for device 450,and may be programmed with instructions that permit secure use of device450. In addition, secure applications may be provided via the SIMMcards, along with additional information, such as placing identifyinginformation on the SIMM card in a non-hackable manner.

The memory may include, for example, flash memory and/or NVRAM memory,as discussed below. In one implementation, a computer program product istangibly embodied in an information carrier. The computer programproduct contains instructions that, when executed, perform one or moremethods, such as those described above. The information carrier is anon-transitory computer-or machine-readable medium, such as the memory464, expansion memory 474, or memory on processor 452, that may bereceived, for example, over transceiver 468 or external interface 462.

Device 450 may communicate wirelessly through communication interface466, which may include digital signal processing circuitry wherenecessary. Communication interface 466 may provide for communicationsunder various modes or protocols, such as GSM voice calls, SMS, EMS, orMMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA or GPRS, among others. Suchcommunication may occur, for example, through radio-frequencytransceiver 468. In addition, short-range communication may occur, suchas using a Bluetooth, WiFi, or other such transceiver (not shown). Inaddition, GPS (Global Positioning System) receiver module 470 mayprovide additional navigation-and location-related wireless data todevice 450, which may be used as appropriate by applications running ondevice 450.

Device 450 may also communicate audibly using audio codec 460, which mayreceive spoken information from a user and convert it to usable digitalinformation. Audio codec 460 may likewise generate audible sound for auser, such as through a speaker, e.g., in a handset of device 450. Suchsound may include sound from voice telephone calls, may include recordedsound (e.g., voice messages, music files, etc.) and may also includesound generated by applications operating on device 450.

The computing device 450 may be implemented in a number of differentforms, as shown in the figure. For example, it may be implemented as acellular telephone 480. It may also be implemented as part of a smartphone 482, personal digital assistant, or other similar mobile device.

Various implementations of the systems and techniques described here canbe realized in digital electronic circuitry, integrated circuitry,specially designed ASICs (application specific integrated circuits),computer hardware, firmware, software, and/or combinations thereof.These various implementations can include implementation in one or morecomputer programs that are executable and/or interpretable on aprogrammable system including at least one programmable processor, whichmay be special or general purpose, coupled to receive data andinstructions from, and to transmit data and instructions to, a storagesystem, at least one input device, and at least one output device.

These computer programs (also known as programs, software, softwareapplications or code) include machine instructions for a programmableprocessor, and can be implemented in a high-level procedural and/orobject-oriented programming language, and/or in assembly/machinelanguage. As used herein, the terms “machine-readable medium”“computer-readable medium” refers to any computer program product,apparatus and/or device (e.g., magnetic discs, optical disks, memory,Programmable Logic Devices (PLDs)) used to provide machine instructionsand/or data to a programmable processor, including a machine-readablemedium that receives machine instructions as a machine-readable signal.The term “machine-readable signal” refers to any signal used to providemachine instructions and/or data to a programmable processor.

To provide for interaction with a user, the systems and techniquesdescribed here can be implemented on a computer having a display device(e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor)for displaying information to the user and a keyboard and a pointingdevice (e.g., a mouse or a trackball) by which the user can provideinput to the computer. Other kinds of devices can be used to provide forinteraction with a user as well; for example, feedback provided to theuser can be any form of sensory feedback (e.g., visual feedback,auditory feedback, or tactile feedback); and input from the user can bereceived in any form, including acoustic, speech, or tactile input.

The systems and techniques described here can be implemented in acomputing system that includes a back end component (e.g., as a dataserver), or that includes a middleware component (e.g., an applicationserver), or that includes a front end component (e.g., a client computerhaving a graphical user interface or a Web browser through which a usercan interact with an implementation of the systems and techniquesdescribed here), or any combination of such back end, middleware, orfront end components. The components of the system can be interconnectedby any form or medium of digital data communication (e.g., acommunication network). Examples of communication networks include alocal area network (“LAN”), a wide area network (“WAN”), and theInternet.

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other.

A number of embodiments have been described. Nevertheless, it will beunderstood that various modifications may be made without departing fromthe spirit and scope of the invention.

In addition, the logic flows depicted in the figures do not require theparticular order shown, or sequential order, to achieve desirableresults. In addition, other steps may be provided, or steps may beeliminated, from the described flows, and other components may be addedto, or removed from, the described systems. Accordingly, otherembodiments are within the scope of the following claims.

What is claimed is:
 1. A remote control device comprising: a housing; akeypad configured to receive tactile input; an input device configuredto receive speech input; a touch sensitive device including a touchsensitive area integrated into the housing and configured to receivegesture input; a first wireless transceiver configured to communicateover a first wireless link shared with a first remote electronic device;a second wireless transceiver configured to communicate over a secondwireless link shared with a second remote electronic device; a processorconfigured to: convert the gesture input, the tactile input, or thespeech input to other information effective to control a user interfaceof the first remote electronic device or the second remote electronicdevice; and output, over the first wireless link or the second wirelesslink, the other information effective to control the user interface ofthe first remote electronic device or the second remote electronicdevice.
 2. The remote control device of claim 1, wherein the firstwireless transceiver comprises a Bluetooth transceiver or a WiFitransceiver.
 3. The remote control device of claim 1, wherein the secondwireless transceiver comprises an infrared transceiver or a radiofrequency transceiver.
 4. The remote control device of claim 1, whereinthe physical keypad is implemented on a same side of the housing as thetouch sensitive area of the touch sensitive device.
 5. The remotecontrol device of claim 4, wherein the physical keypad includes thetouch sensitive area of the touch sensitive device.
 6. The remotecontrol device of claim 1, wherein the processor is further configuredto output, over the first wireless link and based on the gesture input,the tactile input, or the speech input, a wake-up signal to cause thefirst remote electronic device to transition to an active state.
 7. Theremote control device of claim 6, wherein the processor is furtherconfigured to output, over the first wireless link, a sleep signal tocause the first remote electronic device to transition to a sleep state.8. The remote control device of claim 1, wherein the other informationindicates audio to be output in the user interface of the first remoteelectronic device or the second remote electronic device.
 9. The remotecontrol device of claim 1, wherein the other information indicatesvisual cues to be output in the user interface of the first remoteelectronic device or the second remote electronic device.
 10. The remotecontrol device of claim 1, wherein the first remote electronic devicecomprises a television or display device, and wherein the processor isconfigured to output, over the second wireless link, the otherinformation effective to control the user interface of the second remoteelectronic device.
 11. The remote control device of claim 10, whereinthe television or the display device is configured to output, fordisplay, the user interface of the second remote electronic device. 12.A method comprising: receiving, by a remote control device, one or moreof tactile input, speech input, or gesture input; converting, by theremote control device, the one or more of tactile input, speech input,or gesture input to other information effective to control a userinterface of a first or second remote electronic device; andcontrolling, by the remote control device, the user interface of thefirst remote electronic device or the second remote electronic device byoutputting the other information to the first or second remoteelectronic device over a wireless link shared between the remote controldevice and the first or second electronic device.
 13. The method ofclaim 12, wherein the wireless link comprises a Bluetooth link or a WiFilink.
 14. The method of claim 12, wherein the wireless link comprises aninfrared link or a radio frequency link.
 15. The method of claim 12,further comprising: outputting, by the remote control device, over thewireless link and based on the one or more of gesture input, tactileinput, or speech input, a wake-up signal to cause the first or secondremote electronic device to transition to an active state.
 16. Themethod of claim 15, further comprising: outputting, by the remotecontrol device, and over the wireless link, a sleep signal to cause thefirst or second remote electronic device to transition from the activestate to a sleep state.
 17. The method of claim 12, wherein the otherinformation indicates audio to be output in the user interface of thefirst or second remote electronic device.
 18. The method of claim 12,wherein the other information indicates visual cues to be output in theuser interface of the first or second remote electronic device.
 19. Themethod of claim 12, wherein the first or second remote electronic devicecomprises a television or display device.
 20. A non-transitorycomputer-readable storage medium comprising instructions, which whenexecuted, cause a processor of a remote control device to: receive anindication of one or more of tactile input, speech input, or gestureinput; convert the one or more of tactile input, speech input, orgesture input to other information effective to control a user interfaceof a first or second remote electronic device; and control the userinterface of the first remote electronic device or the second remoteelectronic device by outputting the other information to the first orsecond remote electronic device over a wireless link shared between theremote control device and the first or second electronic device.